package com.ruoyi.serialPort.api;

import com.ruoyi.serialPort.api.callBack.SerialPortCallBack;

import java.util.List;

/**
 * @author wwy
 * @date 2021-08-14 21:01
 */
public class SerialPortClientApi {
    public static SerialPortDataHandle handle = new SerialPortDataHandle();
    /**
     * 串口名称
     */
    private String portName;

    public SerialPortClientApi(String portName) {
        this.portName = portName;
    }

    /**
     * 初始化
     * 0:失败
     * 1：成功
     */
    public int init(){
        int init = handle.init(portName);
        if (init == 1)
        {
            // 线程启动
            handle.start();
        }
        return init;
    }

    /**
     * 发送消息
     * @param data
     */
    public void sendData(String data){
        handle.sendData(data);
    }

    /**
     * 关闭串口
     */
    public void close(){
        handle.close();
    }

    /**
     * 设置回调函数
     * @param serialPortCallBack
     */
    public void setCallBack(SerialPortCallBack serialPortCallBack){
        SerialPortDataHandle.serialPortCallBack = serialPortCallBack;
    }

    /**
     * 获取端口列表
     * @return
     */
    public static List<String> getPortList(){
        return handle.getPortList();
    }



}
